package com.victor.service;

import java.util.List;

import com.victor.entity.ContrastRecord;
import com.victor.entity.Publicity;
import com.victor.entity.User;
import com.victor.entity.Vote;

public interface VoteService {

	/**
	 * 通过openid查询该用户是否已经参加过投票
	 * 
	 * @param openid
	 * @return
	 */
	public User ifJoinVote(String openid);

	/**
	 * 将user信息插入到数据库
	 * 
	 * @param user
	 * @return
	 */
	public boolean addUserMsg(User user);

	/**
	 * 将votes信息插入到数据库
	 * 
	 * @param vote
	 * @return
	 */
	public boolean addVote(Vote vote);

	/**
	 * 通过书名和年龄段查询公示表是否存在该书
	 * 
	 * @param picname
	 * @param agegroup
	 * @return
	 */
	public Publicity ifJoinPublicity(String picname, String agegroup);

	/**
	 * 拿到投票次数,将次数加1,更新数据库
	 * 
	 * @param publicity
	 * @return
	 */
	public boolean updPublicity(Publicity publicity);

	/**
	 * 将书名,作者,投票次数1次,和年龄段存入数据库
	 * 
	 * @param publicity
	 * @return
	 */
	public boolean insPublicity(Publicity publicity);

	/**
	 * 获取投票公示信息
	 * 
	 * @return
	 */
	public List<Publicity> getAllPublicity();

	/**
	 * 查询参加投票人数
	 * 
	 * @return
	 */
	public Integer getTotleUser();

	/**
	 * 修改榜单信息
	 * 
	 * @param publicity
	 * @return
	 */
	public boolean updPublicityContent(Publicity publicity);

	/**
	 * 获取所有用户
	 * 
	 * @return
	 */
	public List<User> getAllUser();

	/**
	 * 通过openid查询user表
	 * 
	 * @param openid
	 * @return
	 */
	public User getUserByOpenid(String openid);

	/**
	 * 查询传入学校名的人投票了多少
	 * 
	 * @param school1
	 * @return
	 */
	public Integer getSchoolCount(String school);

	/**
	 * 查询传入的城市的人投票了多少
	 * 
	 * @param school1
	 * @return
	 */
	public Integer getCityCount(String city);

	/**
	 * 插如对比记录
	 * 
	 * @param contrastRecord
	 * @return
	 */
	public int addContrastRecord(ContrastRecord contrastRecord);

	/**
	 * 查询历史对比列表
	 * 
	 * @return
	 */
	public List<ContrastRecord> getContrastRecordList();

	/**
	 * 通过历史对比列表id查询详情
	 * 
	 * @param contrastrecordid
	 * @return
	 */
	public ContrastRecord getContrastRecordById(String crid);

}
